Public Class NLocalidades
    Public Function cargarLocalidad(ByVal item As Entidades.ELocalidad) As Boolean
        'utiliza la capa de datos
        Dim oDatos As New Datos.DLocalidades
        Dim oLocalidades As New List(Of Entidades.ELocalidad)
        Dim band As Boolean
        Try
            oLocalidades = oDatos.buscarLocalidad(item)
            If oLocalidades.Count > 0 Then
                Throw New ArgumentException("Ese nombre de localidad ya fue cargado. Cargue otro diferente o vaya a modificar.")
            End If
            band = oDatos.cargarLocalidades(item)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
        Return band
    End Function

    Public Function modificarLocalidad(ByVal localidad As Entidades.ELocalidad) As Boolean
        Dim oDatos As New Datos.DLocalidades
        Dim band As Boolean
        Try
            band = oDatos.modificarLocalidad(localidad)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
        Return band
    End Function

    Public Function buscarLocalidad(ByVal localidad As Entidades.ELocalidad, ByVal cond As Boolean) As List(Of Entidades.ELocalidad)
        'utiliza la capa de datos
        Dim oDatos As New Datos.DLocalidades
        Try
            Return oDatos.buscarLocalidad(localidad, cond)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
    End Function

    Public Function buscarLocalidad(ByVal localidad As Entidades.ELocalidad) As List(Of Entidades.ELocalidad)
        'utiliza la capa de datos
        Dim oDatos As New Datos.DLocalidades
        Try
            Return oDatos.buscarLocalidad(localidad)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
    End Function

    'sobrecargado
    Public Function buscarLocalidades(ByVal cond As Boolean) As List(Of Entidades.ELocalidad)
        'utiliza la capa de datos
        Dim oDatos As New Datos.DLocalidades
        Try
            Return oDatos.buscarLocalidades(cond)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
    End Function

    Public Function buscarLocalidades() As List(Of Entidades.ELocalidad)
        'utiliza la capa de datos
        Dim oDatos As New Datos.DLocalidades
        Try
            Return oDatos.buscarLocalidades()
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
    End Function

    Public Function generarProximoCodigo() As Integer
        Dim oDatos As New Datos.DLocalidades
        Dim codigo As Integer
        Try
            codigo = oDatos.traerProximoCodigo()
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        End Try
        Return codigo
    End Function
End Class
